//*****************************************************************************
//
// Copyright, (C) 2000-2005 Quantic Dream SA
//
// These coded instructions, statements and computer programs contain
// unpublished information, proprietary to Quantic Dream SA and are 
// protected by French and EEC copyright laws. They may not be 
// disclosed to third parties or copied or duplicated, in whole or in part, 
// without prior written consent of Quantic Dream SA
//
// Unpublished-rights reserved under the Copyright Laws of the EEC.
//
//*****************************************************************************
//
//	CLASS:	MESH_INSTANCE
//	The MESH_INSTANCE class implements ...
//
//	JJA : 2012-07-23 - Created
//*****************************************************************************

//=============================================================================
//	CODE STARTS HERE
//=============================================================================

#ifndef MESH_INSTANCE_H
#define MESH_INSTANCE_H

#include <Kernel/KernelDefines.h>
#include <Math/MathDefines.h>

#include "Transform/Transform.h"

class MESH;
class SHADER;
class CAMERA;

class	DECLARE_ALIGNED( 16 ) MESH_INSTANCE: public TRANSFORM
{
public:
					MESH_INSTANCE( const MESH* pMesh );
					~MESH_INSTANCE();

	void			SetShader( const SHADER* pShader );
	const SHADER*	GetShader() const;

	void			Draw( CAMERA* pCamera );

					ALIGNED_NEW_DELETE( 16 )

private:
	const MESH*		_pMesh;
	const SHADER*	_pShader;
};

#endif // MESH_INSTANCE_H

//=============================================================================
//	CODE ENDS HERE
//=============================================================================
